package com.cn.service.server.mc;

import com.cn.bean.dto.MoxiaoDto;
import com.cn.bean.pojo.mc.K3FlXx;
import com.cn.bean.pojo.mc.McMx;
import com.cn.bean.pojo.mc.McMxList;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface MoXiaoService {

    List<MoxiaoDto> selectAllMoXiao(@Param("limit") int limit, @Param("page") int page, @Param("djBh") String djBh, @Param("lx") String lx, @Param("djZt") String djZt);

    int updateZt(@Param("djBh") String djBh, @Param("sqrGh") String sqrGh, @Param("sqrXm") String sqrXm, @Param("sqrBm") String sqrsqrBmXm, @Param("sqSj") String sqSj, @Param("zt") int zt, @Param("gzmDcMxcs") int gzmDcMxcs);

    int insertYC(@Param("djBh") String djBh, @Param("lb") String lb, @Param("scMoxiaoDate") String scMoxiaoDate, @Param("scCpzj") BigDecimal scCpzj, @Param("bcMoxiaoDate") String bcMoxiaoDate, @Param("bcCpzj") BigDecimal bcCpzj, @Param("jgts") String jgts, @Param("agzmDcMxcs") int agzmDcMxcs, @Param("zdr") String zdr, @Param("zdbm") String zdbm, @Param("zdsj") String zdsj,
                 @Param("djId") String djId, @Param("djsj") String djsj, @Param("csWj") BigDecimal csWj, @Param("gzmBfZj") BigDecimal gzmBfZj, @Param("gzmCcdXx") BigDecimal gzmCcdXx, @Param("gzmCcdSx") BigDecimal gzmCcdSx, @Param("ghZq") String ghZq, @Param("k3Mc") String k3Mc);

    int addBfxx(@Param("djbh") String djbh, @Param("lb") String lb, @Param("bfsj") String bfsj, @Param("sjbfzj") BigDecimal sjbfzj, @Param("bfsm") String bfsm);

    int delMoXiao(@Param("djBh") String djBh, @Param("isDel") int isDel);

    List<K3FlXx> selectMoXiaoBydjbh(@Param("djBh") String djBh, @Param("agzmDcMxcs") int agzmDcMxcs);

    int updateMoXiao(@Param("djBh") String djBh, @Param("zjMxzj") BigDecimal zjMxzj, @Param("zjMxsj") String zjMxsj, @Param("bcMxzj") BigDecimal bcMxzj, @Param("bcMxsj") String bcMxsj, @Param("ghZq") String ghZq);

    int updateYcjl(@Param("djBh") String djBh, @Param("agzmDcMxcs") int agzmDcMxcs, @Param("xgr") String xgr, @Param("xgbm") String xgbm, @Param("xgsj") String xgsj, @Param("djZt") String djZt, @Param("ycqkjl") String ycqkjl);

    int updateLjcs(@Param("djBh") String djBh, @Param("agzmDcMxcs") String agzmDcMxcs, @Param("bcMoxiaoDate") String bcMoxiaoDate, @Param("bcCpzj") BigDecimal bcCpzj);

    List<K3FlXx> selectAll(@Param("limit") int limit, @Param("page") int page, @Param("djBh") String djBh, @Param("lx") String lx, @Param("zt") int zt);

    int updateZTB(@Param("djBh") String djBh, @Param("zt") int zt);

    //    主子表
    int insertMcMx(@Param("id")int id,@Param("gx")String gx,@Param("sb")String sb,@Param("banZu")String banZu,@Param("bz")String bz,@Param("zt")int zt,@Param("shZt")int shZt,@Param("sqrGh")String sqrGh,@Param("sqrXm")String sqrXm,@Param("sqrBm")String sqrBm,@Param("sqSj")String sqSj);
    int insertMcMxList(@Param("idList")int idList,@Param("parentId")int parentId,@Param("zh")String zh,@Param("djBh")String djBh,@Param("k3WlBm")String k3WlBm,@Param("k3Mc")String k3Mc,@Param("zt")int zt,@Param("lx")String lx,@Param("gzmDcMxcs")int gzmDcMxcs,@Param("bcMxzj")BigDecimal bcMxzj,@Param("bcMxsj")String bcMxsj,@Param("csWj")BigDecimal csWj,@Param("gzmBfZj")BigDecimal gzmBfZj,@Param("gzmCcdXx")BigDecimal gzmCcdXx,@Param("gzmCcdSx")BigDecimal gzmCcdSx,@Param("ghZq")String ghZq);
    Integer getMcMxAutoid();
    Integer getMcMxListAutoid();
    List<McMx> getMcMx(@Param("limit") int limit, @Param("page") int page,@Param("id") String id,@Param("gx") String gx,@Param("zt")int zt);
    List<McMxList> getMcMxList(@Param("id")Integer id);
    int upDateMcMx(@Param("McMx")McMx mx);
    int deleteMcMxListParentId(@Param("parentId")int parentId);
    int upDateMcMxSh(@Param("id")int id,@Param("zt")int zt,@Param("shZt")int shZt,@Param("shrGh") String shrGh,@Param("shrXm") String shrXm,@Param("shrBm") String shrBm,@Param("shSj") String shSj);
    int upDateGzmDcMxcs(@Param("djBh")String djBh,@Param("gzmDcMxcs")int gzmDcMxcs);
    Integer isCite(@Param("gzmDcMxcs")int gzmDcMxcs,@Param("djBh")String djBh);
}
